Method of remotely monitoring an internet session

ABSTRACT

A method of remotely monitoring an Internet session includes participating in a first Internet session at a first Internet protocol (IP) address. Concurrent with the first Internet session, another Internet session is initiated at another IP address. Data associated with the first Internet session is automatically transferred to the other IP address via the other Internet session.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of co-pending U.S. patentapplication Ser. No. 09/866,212, filed May 25, 2001, which claimspriority from U.S. Provisional Patent Application No. 60/207,380, filedMay 26, 2000, both of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to monitoring of data associated with anInternet session, especially an Internet chat session.

2. Description of Related Art

It is an unfortunate byproduct of Internet chat sessions that onlinepredators are able to easily make contact with other members of the chatsession, one or more of whom may become a target of a personal threat totheir personal security and/or safety. It is this possibility ofadvances by online predators that represents one of the primary risks toadoption of the Internet at home or in the classroom. Currently, thereexists no easy or suitable way for a potential victim to respond tothreats and/or to assist investigators in the apprehension of onlinepredators.

It is, therefore, an object of the present invention to provide a methodfor capturing the content of an ongoing Internet communication andmirror the communication to a monitoring computer for display and/orstorage. Still other objects of the invention will become apparent tothose of ordinary skill in the art upon reading and understanding thefollowing detailed description.

SUMMARY OF THE INVENTION

Accordingly, we have invented a method of remotely monitoring anexchange of data between a local computer and a remote computer duringan Internet session over the Internet. In the method, a local computerstores an Internet server address and a port number of a monitorcomputer. A first Internet session is initiated between the localcomputer and a remote computer by the Internet. The local computerstores data associated with the first Internet session. At anappropriate time, the local computer retrieves the stored Internetserver address and port number. Thereafter, the first computer initiatesa second Internet session, concurrent with the first Internet session,with the monitor computer at the retrieved Internet server address andport number. The monitor computer transmits at least one of anotherInternet server address and another port number to the local computer.After terminating the second Internet session, the local computerinitiates a third Internet session, concurrent with the first Internetsession, with the monitor computer at the other Internet server addressand/or the other port number. The local computer transfers the storeddata associated with the first Internet session to the monitor computervia the third Internet session.

The step of storing data associated with the first Internet sessionincludes storing the data associated with the first Internet session ina memory of the local computer. The step of transferring the stored dataincludes transferring the data stored in the memory to the monitorcomputer.

The monitor computer can display on a display thereof the transferreddata associated with the first Internet session. The monitor computercan also store the transferred stored data associated with the firstInternet session. The data associated with the first Internet sessioncan include data previously displayed on the display of the localcomputer. Moreover, the local computer can transfer in real-time to themonitor computer via the third Internet session, data displayed on adisplay of the local computer and associated with the first Internetsession.

Preferably, the local computer determines a first check sum of thestored data and transfers the first check sum with the stored data. Themonitor computer then determines a second check sum of the transferredstored data. In response to detecting a match between the first andsecond check sums, the monitor computer displays on a display of themonitor computer the transferred stored data and/or stores thetransferred stored data. The local computer can also time-stamp thestored data and transfer the time-stamp with the stored data to themonitor computer for storage.

We have also invented a method of remotely monitoring an Internetsession. The method includes participating in a first Internet sessionat first Internet protocol (IP) address. Concurrent with the firstInternet session, another Internet session at another IP address isinitiated and data associated with the first Internet session istransferred to the other IP address via the other Internet session.

The step of initiating another Internet session can include initiating asecond Internet session at a second IP address and receiving from thesecond IP address via the second Internet session a third IP address.The second Internet session can be terminated and a third Internetsession can be initiated at the third IP address.

The step of transferring data can include the step of transferring dataassociated with the first Internet session to the third IP address viathe third Internet session.

The data associated with the first Internet session can include datapreviously displayed in connection with the first Internet sessionand/or data displayed in real-time in connection with the first Internetsession. The data transferred to the other IP address via the otherInternet session can be displayed and/or stored. At a suitable time thetransfer of data to the other Internet session can be terminated and theother Internet session can be terminated.

Lastly, we have invented a method of remotely monitoring an Internetsession. The method includes receiving at a second IP address via asecond Internet session therewith a request to monitor a first Internetsession occurring at a first IP address. A third IP address can betransmitted from the second IP address via the second Internet sessionand a third Internet session can be initiated at the third IP address.Data associated with the first Internet session is transferred to thethird IP address via the third Internet session.

Each IP address includes a unique server address and/or a unique portnumber.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of hardware utilized to implement a method inaccordance with the present invention; and

FIG. 2 is a diagram of a dialog box for receiving an Internet protocol(IP) address and/or user information data utilized with the method ofthe present invention.

DETAILED DESCRIPTION OF THE INVENTION

With reference to FIG. 1, a typical prior art Internet chat sessionincludes a user of a local computer 2 corresponding with a user of aremote computer 4 via an Internet session 6 via the Internet 8. As wouldbe apparent to one of ordinary skill in the art, Internet 8 includes oneor more servers (not shown) and/or one or more routers (not shown) thatfacilitate the chat session between local computer 2 and remote computer4. Local computer 2 and remote computer 4 include memory 12 and memory14 for storing client software 16 and client software 18, respectively.Client software 16 and client software 18 control the operation of localcomputer 2 and remote computer 4, respectively, to enable the usersthereof to communicate during the chat session via Internet session 6.

More specifically, client software 16 receives data from remote computer4 via Internet session 6 and displays all or part of this received dataon a display 22 connected to local computer 2. In addition, clientsoftware 16 receives data from a user of local computer 2 via a keyboard24 and/or a mouse 26 coupled to local computer 2. Client software 16displays all or part of this user data on display 22 and/or transmitsall or part of this data to remote computer 4 via Internet session 6.

In a manner similar to client software 16 of local computer 2, clientsoftware 18 of remote computer 4 causes all or part of data receivedfrom local computer 2 via Internet session 6 to be displayed on adisplay 28 of remote computer 4. In addition, client software 18receives data input by a user of remote computer 4 via a keyboard 30and/or a mouse 32 coupled to remote computer 4. Client software 18causes all or part of this user data to be displayed on display 28and/or transmitted to local computer 2 via Internet session 6.

In response to local computer 2 receiving data from remote computer 4,client software 16 causes all or part of this data to be displayed ondisplay 22. Similarly, in response to remote computer 4 receiving datafrom local computer 2, client software 18 causes all or part of thisdata to be displayed on display 28. Thus, as can be seen, local computer2 and remote computer 4 enable users thereof to correspond via Internetsession 6 over Internet 8.

Unfortunately, it has been well documented that an Internet chat sessionis a means by which an online predator can initiate unwantedsolicitations and advances, especially with minor children. It is thislack of personal security and safety that represents a primary risk toadoption of the Internet in the home or in the classroom. In accordancewith the present invention, a method for a participant in an Internetchat session to respond to threats and/or assist investigators in theapprehension of potential on-line predators will be described withongoing reference to FIG. 1.

In accordance with the present invention, a user of local computer 2communicates with a user of remote computer 4 via a first Internetsession 40 utilizing Internet 8. In contrast to Internet session 6between client software 16 and client software 18, client software 16 oflocal computer 2 communicates with first Internet session 40 via a localdata capture and forward process 42 stored in memory 12. Local datacapture and forward process 42 is inserted into the path between clientsoftware 16 and first Internet session 40 by a local user interfaceprocess 44 stored in memory 12. Local user interface process 44 controlslocal data capture and forward process 42 to be in a standby mode or ina capture and forward mode.

With reference to FIG. 2, and with continuing reference to FIG. 1, inoperation, in response to activation or starting of local user interfaceprocess 44 by a user of local computer 2, local user interface process44 causes a dialog box 50 to be displayed on display 22. This dialog box50 includes an Internet protocol (IP) address section 52, a userinformation section 54 and a push button section 56. IP address section52 includes a monitor server address field 60 and a monitor port numberfield 62 for receiving the server address and port number, respectively,of a monitor computer 64. Monitor computer 64 and its function will bedescribed in greater detail hereinafter.

User information section 54 preferably includes name field 70; streetfield 72; a combined city, state, zip field 74; a phone number field 76;an e-mail address field 78; and a family members field 80. Push buttonsection 56 preferably includes a standby button 82, a stop button 84 anda cancel button 86.

In use, a user of local computer 2 enters the server address and/or portnumber of monitor computer 64 into fields 60 and 62, respectively, andenters data into fields 70-80 of user information section 54. Next, theuser of local computer 2 selects standby button 82 or stop button 84. Inresponse to selecting either of these buttons, local user interfaceprocess 42 stores the data in IP address section 52 and user informationsection 54 in memory 12 of local computer 2. In response to the user oflocal computer 2 selecting cancel button 86, local user interfaceprocess 44 erases the data received in the various fields of IP addresssection 52 and user information section 54, and does not store any ofthe erased data in memory 12.

When standby button 82 is activated, local user interface process 44attempts to establish an interprocess communication link with local datacapture and forward process 42. If local data capture and forwardprocess 42 is already active, local user interface process 44establishes communication with local data capture and forward process 42and an appropriate notification is caused to be displayed on display 22of local computer 2. Alternatively, if no communication can beestablished, local user interface process 44 starts or “spawns” localdata capture and forward process 42 and configures an operating system(not shown) of local computer 2 to start local data capture and forwardprocess 42 each time local computer 2 restarts.

When standby button 82 is activated, local data capture and forwardprocess 42 enters a standby mode wherein local data capture and forwardprocess 42 causes a persistent emergency button icon 92 to be displayedon display 22 of local computer 2. Emergency button icon 92 can beactivated by a user of local computer 2 at anytime the user feels thecontent of the data associated with first Internet session 40 should besent to monitor computer 64.

When stop button 84 is activated, local user interface process 44attempts to establish an interprocess communication link with local datacapture and forward process 42. If communication can be established,local user interface process 44 sends a “stop” command through theinterprocess communication link to local data capture and forwardprocess 42. In response to receiving the “stop” command, local datacapture and forward process 42 terminates and causes the emergencybutton icon 92 to not be displayed on display 22. In addition, localuser interface process 44 will also configure the operating system tonot start local data capture and forward process 42 when local computer2 restarts.

Monitor computer 64 includes a memory 66 which stores a remote datadisplay and log process 68. Connected to monitor computer 64 in a mannerknown in the art are a display 94, a keyboard 96, and a mouse 98 whichcollectively act as an interface between monitor computer 64 and a userthereof.

In operation, local data capture and forward process 42 is placed instandby mode during an Internet chat session between a user of localcomputer 2 and a user of remote computer 4 connected via Internet 8 andfirst Internet session 40 at a first IP address. If during this chatsession, the user of local computer 2 activates the emergency buttonicon 92 on display 22, local data capture and forward process 42initiates a second Internet session 100 with monitor computer 64 at asecond IP address of Internet 8. This second IP address is the IPaddress which is entered into fields 60 and 62 of dialog box 50 andwhich is stored in memory 12. More specifically, in response to the userof local computer 2 activating emergency button icon 92, local datacapture and forward process 42 retrieves this second IP address frommemory 12 and initiates second Internet session 100 at the second IPaddress concurrent with first Internet session 40.

In response to initiation of second Internet session 100, remote datadisplay and log process 68 transmits to local data capture and forwardprocess 42 via second Internet session 100 a third IP address. Uponreceiving this third IP address, local data capture and forward process42 terminates second Internet session 100 and initiates a third Internetsession 102 with remote data display and log process 68 via monitorcomputer 64 connected to Internet 8 at the third IP address.

When third Internet session 102 is initiated and running concurrent withfirst Internet session 40, local data capture and forward process 42forwards all or part of the data associated with first Internet session40 to remote data display and log process 68. More specifically, priorto activation of emergency button icon 92, local computer 2 stores allor part of the data associated with first Internet session 40 in afirst-in first-out buffer (not shown) of memory 12. When third Internetsession 102 is initiated, a copy of the data stored in this buffer istransmitted to remote data display and log process 68 via third Internetsession 102. Thereafter, a copy of all or part of the subsequent dataassociated with first Internet session 40 is transmitted to remote datadisplay and log process 68 via third Internet session 102.

Preferably, only data that is displayed on display 22 of local computer2 or display 28 of remote computer 4 is transmitted by local datacapture and forward process 42 to remote data display and log process68. This avoids remote data display and log process 68 from receivingdata, such as formatting data, unrelated to the monitoring and storagefunction performed by remote data display and log process 68.Preferably, the data transmitted to remote data display and log process68 from local data capture and forward process 42 includes a date-stampand/or a check sum. In a manner known in the art, the remote datadisplay and log process 68 determines another check sum for the datareceived from local data capture and forward process 42 and determinesif the two check sums match. In response to detecting a match betweenthe check sums, the remote data display and log process 68 causes thetransferred data to be displayed on display 94 and/or stored in memory66 of monitor computer 64. Preferably, if the check sums do not match,an error message is generated on display 94 of monitor computer 64 toindicate that the integrity of the transferred data is corrupted. Thecheck sum transferred with the data and the time-stamp are stored withthe transferred data in memory 66.

Remote data display and log process 68 preferably causes data receivedfrom local data capture and forward process 42 via third Internetsession 102 to be displayed on display 94 and stored in memory 66 ofmonitor computer 64. However, remote data display and log process 68 canstore the received data in memory 66 without displaying the data ondisplay 94, or can display the received data on display 94 withoutstoring the data in memory 66.

Remote data display and log process 68 is configured so that datareceived from local data capture and forward process 42 can be retrievedand displayed on display 94 of monitor computer 64 at a subsequent time.

At a suitable time after the emergency button icon 92 is activated, theuser of local computer 2 can cause dialog box 50 to be displayed ondisplay 22. Thereafter, by selecting either standby button 82 or stopbutton 84, the user can cause local data capture and forward process 42to re-enter the standby mode or to terminate and cause the emergencybutton icon 92 to be removed from display 22.

Based on the foregoing, it can be seen that the present inventionenables data associated with an Internet chat session to be displayedand/or stored at a remote computer, which is preferably accessible orunder the control of law enforcement personnel to aid in investigationof threats by online predators. To assist law enforcement personnel toinvestigate potential threats, the data transmitted to remote datadisplay and log process 68 by local data capture and forward process 42preferably includes the first IP address of remote computer 4. Thisfirst IP address aids law enforcement personnel in determining thephysical location of remote computer 4.

Preferably, monitor computer 64 includes a single port connected at thesecond IP address and a plurality of ports connected at a like pluralityof third IP addresses. Each request received by remote data display andlog process 68 via the second IP address causes remote data display andlog process 68 to transmit to the requesting local data capture andforward process 42 one of the unused third IP addresses for use by thelocal data capture and forward process 42 to transmit data to remotedata display and log process 68. By having a plurality of unique thirdIP addresses, monitor computer 64 can receive at the second IP address,a plurality of requests for remote data display and log process 68 todisplay and/or store data and can assign each request to be processed byremote data display and log process 68 at a unique third IP address ofmonitor computer 64. In this manner, monitor computer 64 can processmultiple requests for data display and/or storage from a plurality ofdifferent local data capture and forward processes 42.

In an alternate embodiment, local data capture and forward process 42forwards all or part of the data associated with first Internet session40 to remote data display and log process 68 via second Internet session100. Because all or part of the data associated with first Internetsession 40 is forwarded via second Internet session 100, remote datadisplay and log process 68 does not need to store or transmit the thirdIP address to local data capture and forward process 42 for use ininitiating third Internet session 102, and third Internet session 102 isnot initialized or utilized.

In this alternate embodiment, remote data display and log process 68preferably causes data received from local data capture and forwardprocess 42 via second Internet session 100 to be displayed on display 94and stored in memory 66 of monitor computer 64. However, remote datadisplay and log process 68 can store the received data in memory 66without displaying the data on display 94, or can display the receiveddata on display 94 without storing the data in memory 66.

The invention has been described with reference to the preferredembodiments. Obvious modifications and alterations will occur to othersupon reading and understanding the preceding detailed description. It isintended that the invention be construed as including all suchmodifications and alterations insofar as they come within the scope ofthe appended claims or the equivalents thereof.

1. A method of remotely monitoring an Internet session, the methodcomprising: (a) a user computer participating in a first Internetsession at a first Internet protocol (IP) address; (b) the user computerstoring in a memory buffer data transmitted from and received at theuser computer during the first Internet session at the first IP address;(c) following step (b), in response to user activation of an icon or keythereof the user computer initiating a second Internet session at asecond IP address concurrent with the first Internet session at thefirst IP address; (d) following step (c), the user computer transferringthe data stored in the memory buffer in step (b) prior to the activationin step (c) to the second IP address via the second Internet session;and (e) following step (c), the user computer transferring datatransmitted from and received at the user computer following theactivation in step (c) in real-time during the first Internet session tothe second IP address internet session.
 2. The method of claim 1,wherein the user computer includes the memory buffer.
 3. The method ofclaim 1, wherein the second IP address is either entered directly intothe user computer or is acquired by the user computer from the Internetbased on data entered directly into the user computer.
 4. A method ofmonitoring a first Internet session between a local user computer and aremote user computer, the method comprising: (a) participating in asecond Internet session initiated by the local user computer concurrentwith the local user computer's participation in the first Internetsession with the remote user computer; and (b) receiving from the localuser computer via the second Internet session: (1) data stored by thelocal user computer prior to the local user computer initiating thesecond Internet session, wherein the stored data includes data that wastransmitted from and received at the local user computer during thefirst Internet session with the remote user computer prior to theinitiation of the second Internet session; and (2) real-time data thatis transmitted from and received at the local user computer via thefirst Internet session during the time the first Internet session isconcurrent with the second Internet session.
 5. The method of claim 4,wherein the second Internet session is established and step (b) occursin response to activation of an icon or key at the local user computer.6. The method of claim 4, wherein the second Internet session isinitiated at an IP address entered directly into the local user computeror at an IP address that is acquired by the local user computer from theInternet based on data entered directly into the local user computer.